package org.darkforest.common.services;

/**
 * Created by valentina on 15/6/20.
 * 将dao层的接口挪出来到service层
 */
public interface SimpleRedisService {

    /**
     * 赋值,有值时更新覆盖
     * @param key
     * @param value
     * @return
     */
    public void setValue(String key, String value);

    /**
     * 对不存在的key进行赋值，有key时不做任何操作
     * @param key
     * @param value
     * @return
     */
    public boolean setValueNotExist(String key, String value);

    /**
     * 在时间周期内赋值，有值更新时覆盖
     * @param key
     * @param value
     * @param second
     * @return
     */
    public void setValueInTime(String key, String value, Long second);

    /**
     * 根据key获取过期时间，秒为单位
     * @param key
     * @return
     */
    public Long getValidTime(String key);

    /**
     * 根据key获取过期的时间 yyyy-MM-dd HH:mm:ss格式
     * @param key
     * @return
     */
    public String getExpireTime(String key);
    /**
     * 通过key获取数据
     * @param key
     * @return
     */
    public String getByKey(String key);
    /**
     * 通过key删除
     * @param key
     * @return
     */
    public void deleteByKey(String key);


    /**
     * 延长对象存放时间
     * @param key
     * @param expire
     * @return
     */
    boolean expire(String key, long expire);
}
